
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class GUI extends JFrame {
	public GUI() {
		initComponents();
	}

	private void button1ActionPerformed(ActionEvent e) 
	{
		
	}

	private void fastestButtonActionPerformed(ActionEvent e) {
		
	}

	private void downloadButtonActionPerformed(ActionEvent e) {
	
	}

	private void initComponents() {
		greyTabbedPane = new JTabbedPane();
		filesPanel = new JPanel();
		scrollPane1 = new JScrollPane();
		lstFiles = new JList();
		label1 = new JLabel();
		textField1 = new JTextField();
		usersPanel = new JPanel();
		scrollPane2 = new JScrollPane();
		lstUsers = new JList();
		label2 = new JLabel();
		textField2 = new JTextField();
		settingsPanel = new JPanel();
		checkBox1 = new JCheckBox();
		checkBox2 = new JCheckBox();
		toggleButton1 = new JToggleButton();
		bluePanel = new JPanel();
		lblFileName = new JLabel();
		lblDateModified = new JLabel();
		lblFileSize = new JLabel();
		lblHashCode = new JLabel();
		fastestButton = new JButton();
		button2 = new JButton();
		scrollPane3 = new JScrollPane();
		lslPeopleWhoHaveThis = new JList();
		label3 = new JLabel();
		downloadButton = new JButton();
		redPanel = new JPanel();
		label4 = new JLabel();
		scrollPane4 = new JScrollPane();
		lstDownloads = new JList();

		//======== this ========
		Container contentPane = getContentPane();
		contentPane.setLayout(null);

		//======== greyTabbedPane ========
		{

			//======== filesPanel ========
			{

				// JFormDesigner evaluation mark
				filesPanel.setBorder(new javax.swing.border.CompoundBorder(
					new javax.swing.border.TitledBorder(new javax.swing.border.EmptyBorder(0, 0, 0, 0),
						"JFormDesigner Evaluation", javax.swing.border.TitledBorder.CENTER,
						javax.swing.border.TitledBorder.BOTTOM, new java.awt.Font("Dialog", java.awt.Font.BOLD, 12),
						java.awt.Color.red), filesPanel.getBorder())); filesPanel.addPropertyChangeListener(new java.beans.PropertyChangeListener(){public void propertyChange(java.beans.PropertyChangeEvent e){if("border".equals(e.getPropertyName()))throw new RuntimeException();}});

				filesPanel.setLayout(null);

				//======== scrollPane1 ========
				{
					scrollPane1.setViewportView(lstFiles);
				}
				filesPanel.add(scrollPane1);
				scrollPane1.setBounds(10, 40, 410, 660);

				//---- label1 ----
				label1.setText("Search:");
				filesPanel.add(label1);
				label1.setBounds(new Rectangle(new Point(30, 10), label1.getPreferredSize()));
				filesPanel.add(textField1);
				textField1.setBounds(80, 10, 165, textField1.getPreferredSize().height);

				{ // compute preferred size
					Dimension preferredSize = new Dimension();
					for(int i = 0; i < filesPanel.getComponentCount(); i++) {
						Rectangle bounds = filesPanel.getComponent(i).getBounds();
						preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
						preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
					}
					Insets insets = filesPanel.getInsets();
					preferredSize.width += insets.right;
					preferredSize.height += insets.bottom;
					filesPanel.setMinimumSize(preferredSize);
					filesPanel.setPreferredSize(preferredSize);
				}
			}
			greyTabbedPane.addTab("Files", filesPanel);


			//======== usersPanel ========
			{
				usersPanel.setLayout(null);

				//======== scrollPane2 ========
				{
					scrollPane2.setViewportView(lstUsers);
				}
				usersPanel.add(scrollPane2);
				scrollPane2.setBounds(10, 40, 410, 660);

				//---- label2 ----
				label2.setText("Search:");
				usersPanel.add(label2);
				label2.setBounds(new Rectangle(new Point(30, 10), label2.getPreferredSize()));
				usersPanel.add(textField2);
				textField2.setBounds(80, 10, 165, textField2.getPreferredSize().height);

				{ // compute preferred size
					Dimension preferredSize = new Dimension();
					for(int i = 0; i < usersPanel.getComponentCount(); i++) {
						Rectangle bounds = usersPanel.getComponent(i).getBounds();
						preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
						preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
					}
					Insets insets = usersPanel.getInsets();
					preferredSize.width += insets.right;
					preferredSize.height += insets.bottom;
					usersPanel.setMinimumSize(preferredSize);
					usersPanel.setPreferredSize(preferredSize);
				}
			}
			greyTabbedPane.addTab("Users", usersPanel);


			//======== settingsPanel ========
			{
				settingsPanel.setLayout(null);

				//---- checkBox1 ----
				checkBox1.setText("Use this");
				settingsPanel.add(checkBox1);
				checkBox1.setBounds(new Rectangle(new Point(55, 40), checkBox1.getPreferredSize()));

				//---- checkBox2 ----
				checkBox2.setText("No, use this");
				settingsPanel.add(checkBox2);
				checkBox2.setBounds(new Rectangle(new Point(60, 75), checkBox2.getPreferredSize()));

				//---- toggleButton1 ----
				toggleButton1.setText("Don't use this");
				settingsPanel.add(toggleButton1);
				toggleButton1.setBounds(new Rectangle(new Point(65, 110), toggleButton1.getPreferredSize()));

				{ // compute preferred size
					Dimension preferredSize = new Dimension();
					for(int i = 0; i < settingsPanel.getComponentCount(); i++) {
						Rectangle bounds = settingsPanel.getComponent(i).getBounds();
						preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
						preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
					}
					Insets insets = settingsPanel.getInsets();
					preferredSize.width += insets.right;
					preferredSize.height += insets.bottom;
					settingsPanel.setMinimumSize(preferredSize);
					settingsPanel.setPreferredSize(preferredSize);
				}
			}
			greyTabbedPane.addTab("Settings", settingsPanel);

		}
		contentPane.add(greyTabbedPane);
		greyTabbedPane.setBounds(0, 0, 435, 730);

		//======== bluePanel ========
		{
			bluePanel.setBackground(new Color(204, 255, 255));
			bluePanel.setLayout(null);

			//---- lblFileName ----
			lblFileName.setText("File Name");
			bluePanel.add(lblFileName);
			lblFileName.setBounds(new Rectangle(new Point(5, 15), lblFileName.getPreferredSize()));

			//---- lblDateModified ----
			lblDateModified.setText("Date Modified");
			bluePanel.add(lblDateModified);
			lblDateModified.setBounds(new Rectangle(new Point(5, 45), lblDateModified.getPreferredSize()));

			//---- lblFileSize ----
			lblFileSize.setText("File Size");
			bluePanel.add(lblFileSize);
			lblFileSize.setBounds(new Rectangle(new Point(5, 75), lblFileSize.getPreferredSize()));

			//---- lblHashCode ----
			lblHashCode.setText("Hash Code");
			bluePanel.add(lblHashCode);
			lblHashCode.setBounds(new Rectangle(new Point(5, 105), lblHashCode.getPreferredSize()));

			//---- fastestButton ----
			fastestButton.setText("Fastest");
			fastestButton.addActionListener(new ActionListener() {
				@Override
				public void actionPerformed(ActionEvent e) {
					fastestButtonActionPerformed(e);
				}
			});
			bluePanel.add(fastestButton);
			fastestButton.setBounds(new Rectangle(new Point(205, 350), fastestButton.getPreferredSize()));

			//---- button2 ----
			button2.setText("Last Modified");
			bluePanel.add(button2);
			button2.setBounds(new Rectangle(new Point(190, 380), button2.getPreferredSize()));

			//======== scrollPane3 ========
			{
				scrollPane3.setViewportView(lslPeopleWhoHaveThis);
			}
			bluePanel.add(scrollPane3);
			scrollPane3.setBounds(100, 15, 190, 330);

			//---- label3 ----
			label3.setText("People who have this");
			bluePanel.add(label3);
			label3.setBounds(new Rectangle(new Point(130, 0), label3.getPreferredSize()));

			//---- downloadButton ----
			downloadButton.setText("DOWNLOAD");
			downloadButton.setFont(new Font("DialogInput", Font.BOLD, 20));
			downloadButton.addActionListener(new ActionListener() {
				@Override
				public void actionPerformed(ActionEvent e) {
					downloadButtonActionPerformed(e);
				}
			});
			bluePanel.add(downloadButton);
			downloadButton.setBounds(new Rectangle(new Point(25, 360), downloadButton.getPreferredSize()));
		}
		contentPane.add(bluePanel);
		bluePanel.setBounds(450, 20, 300, 410);

		//======== redPanel ========
		{
			redPanel.setBackground(new Color(144, 31, 0));
			redPanel.setLayout(null);

			//---- label4 ----
			label4.setText("Downloads");
			label4.setForeground(Color.white);
			label4.setFont(new Font("Dialog", Font.PLAIN, 20));
			redPanel.add(label4);
			label4.setBounds(new Rectangle(new Point(90, 5), label4.getPreferredSize()));

			//======== scrollPane4 ========
			{
				scrollPane4.setViewportView(lstDownloads);
			}
			redPanel.add(scrollPane4);
			scrollPane4.setBounds(15, 35, 265, 240);
		}
		contentPane.add(redPanel);
		redPanel.setBounds(450, 445, 295, 285);

		{ // compute preferred size
			Dimension preferredSize = new Dimension();
			for(int i = 0; i < contentPane.getComponentCount(); i++) {
				Rectangle bounds = contentPane.getComponent(i).getBounds();
				preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
				preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
			}
			Insets insets = contentPane.getInsets();
			preferredSize.width += insets.right;
			preferredSize.height += insets.bottom;
			contentPane.setMinimumSize(preferredSize);
			contentPane.setPreferredSize(preferredSize);
		}
		pack();
		setLocationRelativeTo(getOwner());
		
	}


	private JTabbedPane greyTabbedPane;
	private JPanel filesPanel;
	private JScrollPane scrollPane1;
	private JList lstFiles;
	private JLabel label1;
	private JTextField textField1;
	private JPanel usersPanel;
	private JScrollPane scrollPane2;
	private JList lstUsers;
	private JLabel label2;
	private JTextField textField2;
	private JPanel settingsPanel;
	private JCheckBox checkBox1;
	private JCheckBox checkBox2;
	private JToggleButton toggleButton1;
	private JPanel bluePanel;
	private JLabel lblFileName;
	private JLabel lblDateModified;
	private JLabel lblFileSize;
	private JLabel lblHashCode;
	private JButton fastestButton;
	private JButton button2;
	private JScrollPane scrollPane3;
	private JList lslPeopleWhoHaveThis;
	private JLabel label3;
	private JButton downloadButton;
	private JPanel redPanel;
	private JLabel label4;
	private JScrollPane scrollPane4;
	private JList lstDownloads;
	
}
